iT邦幫忙

2023 iThome 鐵人賽

DAY 30
0
Modern Web

tailwindcss - 從零開始學系列 第 30

tailwindcss - 從零開始學 - Day30 - Daisyui

  • 分享至 

  • xImage
  •  

其實 tailwindcss 寫久了,就會發現原始碼會充滿著 css 的樣式屬性,在維護上不是那樣方便。但現在也有非常多基於 tailwindcss 的框架,這個單元要來介紹 Daisyui 就是這樣的一個框架。

它可以把一個複雜的元件:

<button class="bg-indigo-600 px-4 py-3 text-center text-sm font-semibold inline-block text-white cursor-pointer uppercase transition duration-200 ease-in-out rounded-md hover:bg-indigo-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-600 focus-visible:ring-offset-2 active:scale-95">
  Tailwind Button
</button>

省略變成:

<button class="btn btn-primary">
  daisyUI Button
</button>

但這樣又會變成跟 Bootstrap 不是一樣嗎?直接使用 Bootstrap 就好了啊?

但因為 Daisyui 是以插件的形式存在於 tailwindcss,所以變成是兩個框架可以共同使用,例如:

<button class="btn btn-primary w-64">
  daisyUI Button
</button>

可以同時使用 Daisyui 與 tailwindcss ,其威力更加強大,也幫助省了非常多的時間。

Daisyui 的安裝方式,一樣在專案目錄下執行命令:

npm i -D daisyui@latest

修改 tailwind.config.js:

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./src/**/*.{html,js}", "./dist/**/*.html"],
  theme: {

  },
  plugins: [require("daisyui")],
}

那這個單元簡單介紹一個側邊欄位跟 header 欄位的排版方式:

<div class="drawer lg:drawer-open">
  <input id="my-drawer-3" type="checkbox" class="drawer-toggle" />
  <div class="drawer-content flex flex-col">
    <!-- Navbar -->
    <div class="navbar bg-base-300 w-full">
      <div class="flex-none lg:hidden">
        <label for="my-drawer-3" aria-label="open sidebar" class="btn btn-square btn-ghost">
          <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="inline-block h-6 w-6 stroke-current"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg>
        </label>
      </div>
      <div class="mx-2 flex-1 px-2">Navbar Title</div>
      <div class="hidden flex-none lg:block">
        <ul class="menu menu-horizontal">
          <!-- Navbar menu content here -->
          <li><a>Navbar Item 1</a></li>
          <li><a>Navbar Item 2</a></li>
        </ul>
      </div>
    </div>
    <!-- Page content here -->
    Content
  </div>
  <div class="drawer-side">
    <label for="my-drawer-3" aria-label="close sidebar" class="drawer-overlay"></label>
    <ul class="menu bg-base-200 min-h-full w-80 p-4">
      <!-- Sidebar content here -->
      <li><a>Sidebar Item 1</a></li>
      <li><a>Sidebar Item 2</a></li>
    </ul>
  </div>
</div>

呈現效果:

https://ithelp.ithome.com.tw/upload/images/20231007/20162607d3PTf8jEo7.png


至此

tailwindcss - 從零開始學 30 天之旅結束拉!

首先先回顧一下這 30 天的內容:

專案建立:

tailwindcss - 從零開始學 - Day1 - 為何而戰
tailwindcss - 從零開始學 - Day2 - 設定環境

基本用法:

tailwindcss - 從零開始學 - Day3 - 文字

基本元件:

tailwindcss - 從零開始學 - Day4 - 一個簡單的按鈕
tailwindcss - 從零開始學 - Day5 - header
tailwindcss - 從零開始學 - Day6 - header RWD
tailwindcss - 從零開始學 - Day7 - 橫幅排版
tailwindcss - 從零開始學 - Day8 - 卡片排版
tailwindcss - 從零開始學 - Day9 - 卡片排版組合
tailwindcss - 從零開始學 - Day10 - 卡片排版
tailwindcss - 從零開始學 - Day11 - 卡片排版
tailwindcss - 從零開始學 - Day12 - 卡片排版

版面排版:

tailwindcss - 從零開始學 - Day13 - Dashboard 排版
tailwindcss - 從零開始學 - Day14 - Dashboard 排版
tailwindcss - 從零開始學 - Day15 - 三列式排版
tailwindcss - 從零開始學 - Day22 - 登入畫面

表單元件:

tailwindcss - 從零開始學 - Day16 - 表單輸入
tailwindcss - 從零開始學 - Day17 - 表單 icon
tailwindcss - 從零開始學 - Day18 - 表單 checkbox
tailwindcss - 從零開始學 - Day19 - 表單全
tailwindcss - 從零開始學 - Day24 - 表單 input 進階

表格元件:

tailwindcss - 從零開始學 - Day20 - Table
tailwindcss - 從零開始學 - Day21 - table 行列固定

滑鼠事件:

tailwindcss - 從零開始學 - Day23 - Hover Group

tailwindcss - 從零開始學 - Day25 - peer

設定檔案:

tailwindcss - 從零開始學 - Day26 - 簡化標籤
tailwindcss - 從零開始學 - Day27 - 設定檔

安裝插件:

tailwindcss - 從零開始學 - Day28 - 使用插件
tailwindcss - 從零開始學 - Day29 - 下拉式選單插件
tailwindcss - 從零開始學 - Day30 - Daisyui

雖然稱不上什麼大作的文章,但也算是屬於自己的學習筆記,這真的是一種很棒的學習方式,邊學邊寫,然後分享。

那麼 tailwindcss - 從零開始學 結束了嗎?

這邊只是學習如何製作網頁版型與元件,接下來還必須要跟前端程式語言框架整合,例如 Vue3。才算是一個完整的前端開發的學習之路。

希望未來還有機會用這樣的方式跟大家見面。

恭喜自己完賽~!!

tailwindcss - 從零開始學 - 本季[終]


上一篇
tailwindcss - 從零開始學 - Day29 - 下拉式選單插件
系列文
tailwindcss - 從零開始學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言